#ifndef MYSTRING_H
#define MYSTRING_H
/**
 * @brief mystrcpy 字符串拷贝功能
 * @param dst 目标字符数组
 * @param src 源字符数组
 * @return dst的首地址
 */
char *mystrcpy(char *dst, const char *src);

/**
 * @brief mystrcat 将一个字符串追加到另一个字符串结尾
 * @param dst 将src追加到dst的结尾
 * @param src
 * @return dst的首地址
 */
char *mystrcat(char *dst, const char *src);

int mystrcmp(const char *dst, const char *src);

/**
 * @brief mystrncmp 比较字符串的前n个字符是否相等，相等则返回０
 * @param dst
 * @param src
 * @return
 */
int mystrncmp(const char *dst, const char *src, int n);

/**
 * @brief mystrchr 在字符串中查找指定的字符
 * @param str
 * @param c
 * @return 找到该字符在内存中的地址，找不到则返回ＮＵＬＬ
 */
char *mystrchr(const char *str,  const char c);

/**
 * @brief mystrrchr 在字符串中从后往前查找指定的字符
 * @param str
 * @param c
 * @return 找到该字符在内存中的地址，找不到则返回ＮＵＬＬ
 */
char *mystrrchr(const char *str,  const char c);
/**
 * @brief mystrstr 在字符串中查找另一个子字符串
 * @param str
 * @param tok
 * @return
 */
char *mystrstr(const char *str, const char *tok);

/**
 * @brief trimstr 修剪字符串，将字符串前和后的所有空字符全部去掉
 *  “　a b c d \n \t\n"--->"a b c d"，空字符包含空格、退格、制表符、回车
 * isspace(c)来判断一个字符是否为空字符
 * @param str
 * @return
 */
char *trimstr(char *str);

/**
 * @brief del_substr 删除字符中的子字符串
 */
char *del_substr(char *str, const char *substr);

#endif // MYSTRING_H
